package com.company.nowcoder;

import java.util.Scanner;

/**
 * @author jrue
 * @description https://www.nowcoder.com/practice/355885694012495281f415387db22fde?tpId=98&tqId=32860&rp=1&ru=%2Fta%2F2019test&qru=%2Fta%2F2019test%2Fquestion-ranking&tPage=2
 * @date 2019/12/9 10:10
 * 你需要爬上一个N层的楼梯，在爬楼梯过程中， 每阶楼梯需花费非负代价，第i阶楼梯花费代价表示为cost[i]， 一旦你付出了代价，你可以在该阶基础上往上爬一阶或两阶。
 * 你可以从第 0 阶或者 第 1 阶开始，请找到到达顶层的最小的代价是多少。
 * N和cost[i]皆为整数，且N∈[2,1000]，cost[i]∈ [0, 999]。
 */
public class Climb {
    // 1,100,1,1,1,100,1,1,100,1
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.next();
        String[] strings = s.split(",");
        if (strings.length == 1) {
            System.out.println(strings[0]);
            return;
        }
        int[] dp = new int[strings.length];
        for (int i = 0; i < strings.length; i++) {
            int k = Integer.parseInt(strings[i]);
            if (i == 0) dp[0] = k;
            else if (i == 1) dp[1] = Integer.parseInt(strings[1]);
            else {
                dp[i] = Math.min(dp[i - 1] + Integer.parseInt(strings[i ]),dp[i - 2] + Integer.parseInt(strings[i]));
            }
        }
        System.out.println(Math.min(dp[dp.length - 1],dp[dp.length - 2]));
    }

}
